#ifndef __DRIVER_LORA_H__
#define __DRIVER_LORA_H__

#include "stm32f1xx_hal.h"
#include <rtthread.h>
#include <string.h>

/* 根据定义的波特率设置不同的串口速率 */
#define CONFIG_BAUD_AIRSPEED1     //设置串口波特率9600，校验8N1、空中速率2.4K
//#define CONFIG_BAUD_AIRSPEED2       //设置串口波特率115200，校验8N1、空中速率2.4K

#define ADDR_H   0x00               //地址
#define ADDR_L   0x02
#define NETID    0x04               //网络地址（通信的LoRa需要在一个网络地址）
#define CHANNEL  0x17               //信道控制（0-83）：实际频率= 410.125 + REG2 * 1M

#ifdef CONFIG_BAUD_AIRSPEED1
    #define LORA_BAUD_AIRSPEED   0x62     //设置串口波特率9600，校验8N1、空中速率2.4K
    #define LORA_BAUD            9600
#endif

#ifdef CONFIG_BAUD_AIRSPEED2
    #define LORA_BAUD_AIRSPEED   0xE2     //设置串口波特率115200，校验8N1、空中速率2.4K
    #define LORA_BAUD            115200
#endif


//配置模式
void LoRa_Mode(GPIO_PinState M0,GPIO_PinState M1);

//初始化LoRa
void LoRa_Transmit_PtoP(uint8_t addr_h, uint8_t addr_l, uint8_t channel, uint8_t* pData, uint16_t Size, uint32_t timeout);

//发送点对点数据
void LoRa_Transmit_PtoP(uint8_t addr_h, uint8_t addr_l, uint8_t channel, uint8_t* pData, uint16_t Size, uint32_t timeout);
#endif
